package com.Drools.CIPS.controller;

import com.Drools.CIPS.ruler.MTRuler;
import org.kie.api.KieBase;
import org.kie.api.KieServices;
import org.kie.api.runtime.KieContainer;
import org.kie.api.runtime.KieSession;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

import java.util.HashMap;
import java.util.Map;
@Controller
public class du {
    public static void main(String[] args) {
        new du().useGroup();
    }
    @GetMapping("/du")//使用全部规则
    public void useGroup(){
        System.setProperty("drools.dateformat","yyy-MM-dd");

        KieServices kieServices = KieServices.Factory.get();//kie整体入口
//        kieServices


        KieContainer kieContainer = kieServices.newKieClasspathContainer();//加载所有
//        kieServices.getKieClasspathContainer("")


        //指定kmodule.xml 的name的文件  相当于 drl 的 package 值;  这个值
        KieBase myKbase0 = kieContainer.getKieBase("myKbase0");
        KieBase myKbase1 = kieContainer.getKieBase("myKbase1");
        KieBase myKbase2 = kieContainer.getKieBase("myKbase2");

        KieSession kieSession0 = myKbase0.newKieSession();
        KieSession kieSession1 = myKbase1.newKieSession();
        KieSession kieSession2 = myKbase2.newKieSession();


        System.out.println("------myKbase0--------------------");
        zx(kieSession0);
        System.out.println("------myKbase1--------------------");
        zx(kieSession1);
        System.out.println("------myKbase2--------------------");
        zx(kieSession2);
    }


    private static void zx(KieSession kieSession) {
        kieSession.insert("sssssssssssssssss");//插入数据
        int i = kieSession.fireAllRules();//执行
        System.out.println(i);

        kieSession.dispose();//关闭规则
    }
}
